1. Field of the Invention
The present invention relates to a direct memory access method and a memory control apparatus, comprising an N-bit counter and an address generating means for multiplying 1/2.sup.N with an address value of a transfer source or destination memory to generate a direct memory access reference address, for performing direct memory access of the transfer source or destination memory having a capacity of at least 2.sup.N words.
2. Description of the Related Art
In a conventional facsimile apparatus having an image storage memory, a method of transferring a large volume of image encoding data from an encoder to the image storage memory or from the image storage memory to a decoder is preformed by a method of sequentially transferring data in units of words using a general-purpose direct memory access (to be referred to as "DMA" hereinafter) control LSI chip.
FIG. 5 is a block diagram of a typical DMA controller.
In FIG. 5, reference numeral 201 denotes an arithmetic processor (CPU) for controlling a system; 202, a DMA controller (DMAC) for performing DMA control including address value control executed when encoding data is DMA-transferred between an encoder/decoder 206 and a storage memory 207; 203, a reader for performing an original reading operation, and outputting binary pixel data of the read original image; 204, a memory for temporarily storing the binary pixel data; 205, a recorder for printing out the input binary pixel data on, e.g., a thermal recording sheet; 206, the encoder/decoder for receiving and encoding pixel data from a bus B and outputting the encoded data onto a bus A in an encoding mode, and for receiving and decoding encoded data from the bus A and outputting the decoded pixel data onto the bus B in a decoding mode; and 207, a storage memory for storing a large volume of encoded data. Reference symbols a1 and a2 denote a bus request signal for mediating the right of use of the bus A between the CPU 201 and the DMAC 202 and a response signal for the bus request signal a1; b1 and b2, a DMA request signal from the encoder/decoder 206 to the DMAC 202 and a response signal for the request signal b1; and C, an address signal for the storage memory 207, which is output from the CPU 201 in a normal operation, and is output from the DMAC 202 during a DMA operation.
Note that FIG. 5 is a schematic view illustrating only portions necessary for showing a flow of image data.
In the conventional facsimile apparatus with the above arrangement, when read data is stored in the storage memory 207, the read data from the reader 203 is stored in the memory 204.
The encoder/decoder 206 sequentially generates encoded data using data in the memory 204, and DMA-transfers the encoded data to the storage memory 207.
In contrast to this, when image data stored in the storage memory 207 is printed, printing data from the storage memory 207 is DMA-transferred to the encoder/decoder 206. Image data decoded by the encoder/decoder 206 is temporarily stored in the memory 204. The recorder 205 receives the image data from the memory 204.
With these operations, a memory storage operation of read data and a print-out operation of storage data are performed.
However, when the time required for DMA-transferring encoded data to the storage memory 207 per line continuously exceeds the time required for reading one-line data of the reader 203, an empty area of the memory 204 is used up, and the read operation must be temporarily interrupted.
In a recording operation, when the time required for DMA-transferring data to be decoded per line from the storage memory 207 to the encoder/decoder 206 exceeds the time required for the recorder 305 to print out one-line data, the memory 204 becomes completely empty, and there is no decoded data to be printed in the memory 204. For this reason, the print operation must be interrupted.
For these reasons, a long operation time is required, resulting in an inefficient operation.
In general, when image data is encoded by a modified Huffman code (to be abbreviated to as an "MH code" hereinafter) used in the facsimile apparatus, a data volume as a result of encoding is compressed to a fraction or less of original image data in most cases.
However, in a specific image pattern, a data volume of an encoded result is increased to several times an original image data length. In the worst case, a data volume of an encoded result may be increased to about six times an original image data length.
In recent years, many special-purpose LSIs for performing encoding/decoding processing of "MH and MR codes" are commercially available, and encoding/decoding processing itself can be executed at a very high speed.
However, since an encoded data volume is increased in a data transfer operation of the above-mentioned specific image pattern, even if DMA-transfer capable of performing high-speed data transfer is performed, a long time is required to transfer encoded data for one main scan line.
As processing speed of the encoder/decoder is increased, DMA data transfer must be performed more frequently, and the occupation ratio of the system bus by DMA is increased. For this reason, other processing operations are apt to be delayed for the entire facsimile system.
For these reasons, even in a conventional facsimile system using a special-purpose LSI capable of high-speed encoding/decoding processing, an encoded data length per line considerably varies depending on its image pattern. When original read data is stored in the image memory after MH or MR encoding, or when data in the image memory is decoded and printed, if an image pattern has a high density, a time required for transferring the corresponding encoded data undesirably exceeds a one-line processing time of the reader or the recorder.
Therefore, a feed operation in the sub-scan direction must be inevitably intermittently performed.
The intermittent sub-scan driving operation delays the read and recording operations.
This also causes an increase in noise in the driving operation, and feed nonuniformity in the sub-scan direction. As an image pattern has a higher density, a higher resolution is required. However, image quality is degraded due to the feed nonuniformity.